﻿using System.Collections.Generic;
using System.ServiceModel;
using NTTDATA.BEENChina.ResultCertification.EntryModel;


namespace NTTDATA.BEENChina.ResultCertification.WcfServiceLibrary
{
    [ServiceContract]
    interface IServiceEntry
    {
        /// <summary>
        /// 得到检验数据（未做成job）的日期
        /// </summary>
        /// <returns></returns>
        [OperationContract]
        List<string> GetDistinctOridReceiveDates();

        /// <summary>
        /// 做成job
        /// </summary>
        /// <param name="oridReceiveDate"></param>
        [OperationContract]
        void MakeJob(string oridReceiveDate);

        /// <summary>
        /// 用户帐号 密码验证
        /// </summary>
        /// <param name="id"></param>
        /// <param name="pass"></param>
        /// <param name="ipAddress"> </param>
        /// <returns></returns>
        [OperationContract]
        bool VerfityOperator(string id, string pass,string ipAddress);


        [OperationContract]
        int LogOut(string id);

        /// <summary>
        /// 以做成 未录入的job 中的 oridreceivedate
        /// </summary>
        /// <returns></returns>
        [OperationContract]
        List<string> GetDistinctOrderReceiveDates();
         
        

        /// <summary>
        /// 得到job列表
        /// </summary>
        /// <returns></returns>
        [OperationContract]
        List<VerfityJobListItem> GetJobList(string orderReceiveDate,string categoryType);

      /*  /// <summary>
        /// 下载job 根据 verfityCategoryID
        /// </summary>
        /// <param name="opid"></param>
        /// <param name="verfityItemID"></param>
        /// <param name="orderReceiveDate"> </param>
        /// <returns></returns>
        //[OperationContract]
       // VerfityJobItem DownLoadJob(string opid, string verfityItemID, string orderReceiveDate);*/

        /// <summary>
        /// 下载job 根据 verfityCategoryID
        /// </summary>
        /// <param name="opid"></param>
        /// <param name="verfityItemID"></param>
        /// <param name="orderReceiveDate"> </param>
        /// <returns></returns>
        [OperationContract]
        VerfityJobItem DownLoadJob(string opid, string verfityItemID, string categoryID,string orderReceiveDate);

        /// <summary>
        /// 上传job
        /// </summary>
        /// <param name="opid"></param>
        /// <param name="verfityJobItem"></param>
        /// <returns></returns>
        [OperationContract]
        int UpLoadJob(string opid, VerfityJobItem verfityJobItem);

        /// <summary>
        /// 取消job
        /// </summary>
        /// <param name="opid"></param>
        /// <param name="verfityJobID"> </param>
        /// <param name="CategoryID"> </param>
        /// <returns></returns>
        [OperationContract]
        int CancelJob(string opid, string verfityJobID, string CategoryID);

        //[OperationContract]
        //List<List<string>> GetSplitResult(CategoryConfig categoryConfig, string entryResult);

        [OperationContract]
        string GetImageBackupDatabaseConnstring();

        [OperationContract]
        string GetImageBackupServiceAddress();

        [OperationContract]
        string GetImageFolder();

    }
}
